#ifndef __COMMAND_HPP__
#define __COMMAND_HPP__

#include "queue.hpp"

struct Command {
	friend struct Queue;

	static const int HIGH_PRIORITY = 0;
	static const int HALF_PRIORITY = 1;
	static const int LOW_PRIORITY = 2;

	virtual bool execute() = 0;

	Command(int priority = LOW_PRIORITY):
		_priority(priority) {};
	virtual ~Command() {}

private:
	int _priority;
};

#endif
